8e98b30f14a83afafad90b37830e93ddd8e7835e,src/main/org/codehaus/groovy/control/ResolveVisitor.java,ResolveVisitor,resolveFromModule,#ClassNode#boolean#,467
Before Change
if (res == NONE)
return false;
if (res != null) {
type.setRedirect((ClassNode) res);
return true;
}
boolean newNameUsed = false;
// we add a package if there is none yet and the module has one. But we
// do not add that if the type is a ConstructedClassWithPackage. The code in ConstructedClassWithPackage
// hasPackageName() will return true if ConstructedClassWithPackage#className has no dots.
// but since the prefix may have them and the code there does ignore that
// fact. We check here for ConstructedClassWithPackage.
if (!type.hasPackageName() && module.hasPackageName() && !(type instanceof ConstructedClassWithPackage)) {
type.setName(module.getPackageName() + name);
newNameUsed = true;
}
// look into the module node if there is a class with that name
List moduleClasses = module.getClasses();
for (Iterator iter = moduleClasses.iterator(); iter.hasNext();) {
ClassNode mClass = (ClassNode) iter.next();
if (mClass.getName().equals(type.getName())) {
if (mClass != type) {
type.setRedirect(mClass);
}
module.resolveCache.put(name, type.redirect());
return true;
After Change
for (Iterator iter = moduleClasses.iterator(); iter.hasNext();) {
ClassNode mClass = (ClassNode) iter.next();
if (mClass.getName().equals(type.getName())) {
if (mClass != type) type.setRedirect(mClass);
return true;
}
}